﻿Imports System.Globalization

Public Class frmElevesDispo
    Public pPlanning As String
    Public pMoniteur As String
    Public pDateHeure As Date
    Public pNompren As String
    Public pFormule As String

    Private szSQL As String
    Dim szMoniteur As String
    Private rs As ADODB.Recordset

    Public Solde As Decimal

    Private Sub frmElevesDispo_Load(sender As Object, e As System.EventArgs) Handles Me.Load

        TE_CRENEAU.Text = "Créneau horaire : " & pDateHeure.ToString("dddd", CultureInfo.CreateSpecificCulture("fr-FR")).ToUpper
        If pPlanning = "B" Then
            TE_MONITEUR.Text = "Moniteur : " & pMoniteur
            If pDateHeure.Hour <= 12 Then
                TE_CRENEAU.Text &= " Matin"
            Else
                TE_CRENEAU.Text &= " Après-midi"
            End If
            ' initialiser le combo Moniteurs
            CB_MONITEUR.Visible = True
            CB_MONITEUR.Items.Clear()
            CB_MONITEUR.Items.Add(pMoniteur)
            CB_MONITEUR.Items.Add("TOUS")
            CB_MONITEUR.SelectedIndex = 0
            szMoniteur = CB_MONITEUR.SelectedItem
        Else
            CB_MONITEUR.Visible = False
            szMoniteur = pMoniteur
            TE_CRENEAU.Text &= " - Groupe " & pMoniteur
        End If
        ' extraire les élèves
        InitListeEleves()

    End Sub

    Private Sub InitListeEleves()

        Dim nb As Integer = 0

        ' effacer la listview
        LV_ELEVES.Items.Clear()

        ' affiche les ELEVES dispos
        szSQL = "CALL spGet_ELEVES_byDISPO('" & pPlanning & "','" & Format(pDateHeure, "yyyy/MM/dd HH:mm") & "','" & szMoniteur & "'," & gUserAgence & ")"
        GetRecordset(ctDSN_AEM, szSQL, rs)

        ' Load the data.
        Do While Not rs.EOF
            LV_ELEVES.Items.Add(rs.Fields("cd_cli").Value)
            LV_ELEVES.Items(nb).SubItems.Add(rs.Fields("civilite").Value)
            LV_ELEVES.Items(nb).SubItems.Add(rs.Fields("nompren").Value)
            LV_ELEVES.Items(nb).SubItems.Add(nv(rs.Fields("permis_demande").Value))
            LV_ELEVES.Items(nb).SubItems.Add(nv(rs.Fields("formule").Value))
            LV_ELEVES.Items(nb).SubItems.Add(Zero2Space(rs.Fields("solde").Value))
            LV_ELEVES.Items(nb).SubItems.Add(nv(rs.Fields("heures").Value))
            If rs.Fields("solde").Value < 0 Then
                LV_ELEVES.Items(nb).ForeColor = Color.Red
            End If
            ' Get the next record
            rs.MoveNext()
            nb = nb + 1
        Loop
        ' Close the recordset AND connection.
        rs.Close()
        'positionner le curseur sur la première ligne
        setIndice(0, LV_ELEVES)

    End Sub

    Private Sub LV_ELEVES_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles LV_ELEVES.DoubleClick
        If LV_ELEVES.SelectedItems.Count > 0 Then
            ' mémoriser l'élève sélectionné
            gCD_CLI = LV_ELEVES.SelectedItems(0).Text
            pNompren = LV_ELEVES.SelectedItems(0).SubItems(2).Text
            pFormule = LV_ELEVES.SelectedItems(0).SubItems(4).Text
            ' puis retour à l'appelant
            Me.Close()
        End If

    End Sub

    Private Sub LV_ELEVES_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles LV_ELEVES.KeyDown

        Select Case e.KeyCode
            Case Keys.Enter  ' Enter = Double-Clic
                LV_ELEVES_DoubleClick(sender, e)

            Case Keys.F2   ' F2 = afficher la fiche élève
                If LV_ELEVES.SelectedItems.Count > 0 Then
                    gCD_CLI = LV_ELEVES.SelectedItems(0).Text
                    ' afficher les détails 
                    frmElevesMAJ.ShowDialog()
                End If
        End Select

    End Sub

    Private Sub CB_MONITEUR_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles CB_MONITEUR.SelectedIndexChanged
        szMoniteur = CB_MONITEUR.SelectedItem
        ' redessiner la listview
        InitListeEleves()
    End Sub
End Class